//单向链表forward_list、双向链表list
#include <iostream>
#include <forward_list>
#include <list>
using namespace std;

int main(int argc, char const *argv[])
{
    forward_list<int> f;

    f.push_front(1);
    f.push_front(2);
    f.push_front(3);

    f.insert_after(f.begin(),4);

    for(auto i : f)
    {
        cout << i << " ";   //3 4 2 1
    }
    cout << endl;

    f.sort();

    for(auto i : f)
    {
        cout << i << " ";
    }
    cout << endl;

    //list<int> l = {1,2,3,4,5};
    
    // //正向遍历
    // for (auto it = l.begin();it!=l.end();it++)
    // {
    //     cout << *it << " ";
    // }
    // cout << endl;
    
    // //反向遍历
    // for (auto it = l.rbegin();it!=l.rend();it++)
    // {
    //     cout << *it << " ";
    // }
    // cout << endl;

    return 0;
}
